/**
    Copyright (C) 2011  Alexander Vollmer

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.jefb.web.model;

import java.io.Serializable;

import org.jefb.entity.IBasicEntity;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.zkoss.zkplus.databind.BindingListModelList;

@Component
@Scope("session")
public class EntityModel<T extends IBasicEntity> implements Serializable{


	private static final long serialVersionUID = 1L;
	protected T selectedEntity;
	private T newEntity;
	private T searchCriteria;
	
	private BindingListModelList listModel;

	public EntityModel() {
	}
	
	public void resetModel(){
		selectedEntity = null;
		newEntity = null;
	}

	public T getSelectedEntity() {
		return selectedEntity;
	}

	public void setSelectedEntity(T selectedEntity) {
		this.selectedEntity = selectedEntity;
	}

	public void setNewEntity(T newEntity) {
		this.newEntity = newEntity;
	}

	public T getNewEntity() {
		return newEntity;
	}

	public void setSearchCriteria(T searchCriteria) {
		this.searchCriteria = searchCriteria;
	}

	public T getSearchCriteria() {
		return searchCriteria;
	}

	public void setListModel(BindingListModelList listModel) {
		this.listModel = listModel;
	}

	public BindingListModelList getListModel() {
		return listModel;
	}

}
